home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1994-08-08 | 10.9 KB | [TEXT/KAHL] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| MS-DOS Code Page Info (other/dosCodePage)
| ext
| Unsupported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Mon Aug 8 15:53:03 1994, modified Mon Aug 8 15:53:03 1994, creator Think C, type ASCII, 10620 bytes "CNameIndex.cp" , at 0x29fc 382 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [KAHL] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0d 43 4e 61 6d 65 49 | 6e 64 65 78 2e 63 70 00 |..CNameI|ndex.cp.|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 01 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 29 7c 00 | 00 01 7e aa 6c 3d 9f aa |.....)|.|..~.l=..|
|00000060| 6c 3d 9f 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |l=......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 42 ef 00 00 |........|....B...|
|00000080| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00000090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 20 2a |********|*****. *|
|000000c0| 0d 20 2a 09 43 72 65 61 | 74 65 64 3a 20 53 75 6e |. *.Crea|ted: Sun|
|000000d0| 64 61 79 2c 20 4a 61 6e | 75 61 72 79 20 32 30 2c |day, Jan|uary 20,|
|000000e0| 20 31 39 39 31 20 34 3a | 31 31 3a 30 38 20 50 4d | 1991 4:|11:08 PM|
|000000f0| 0d 20 2a 09 43 4e 61 6d | 65 49 6e 64 65 78 2e 63 |. *.CNam|eIndex.c|
|00000100| 70 0d 20 2a 09 43 2b 2b | 20 63 6c 61 73 73 20 69 |p. *.C++| class i|
|00000110| 6d 70 6c 65 6d 65 6e 74 | 61 74 69 6f 6e 20 66 6f |mplement|ation fo|
|00000120| 72 20 6e 61 6d 65 2d 62 | 61 73 65 64 20 69 6e 64 |r name-b|ased ind|
|00000130| 65 78 20 63 6c 61 73 73 | 0d 20 2a 0d 20 2a 0d 20 |ex class|. *. *. |
|00000140| 2a 09 43 6f 70 79 72 69 | 67 68 74 20 4e 65 6f 6c |*.Copyri|ght Neol|
|00000150| 6f 67 69 63 20 53 79 73 | 74 65 6d 73 20 31 39 39 |ogic Sys|tems 199|
|00000160| 32 2d 31 39 39 34 0d 20 | 2a 09 41 6c 6c 20 72 69 |2-1994. |*.All ri|
|00000170| 67 68 74 73 20 72 65 73 | 65 72 76 65 64 0d 20 2a |ghts res|erved. *|
|00000180| 0d 20 2a 0d 20 2a 20 57 | 69 74 68 69 6e 20 61 20 |. *. * W|ithin a |
|00000190| 63 6c 61 73 73 2c 20 72 | 65 66 65 72 65 6e 63 65 |class, r|eference|
|000001a0| 73 20 74 6f 20 70 65 72 | 6d 61 6e 65 6e 74 20 6f |s to per|manent o|
|000001b0| 62 6a 65 63 74 73 20 61 | 72 65 20 6b 65 70 74 20 |bjects a|re kept |
|000001c0| 69 6e 0d 20 2a 20 61 20 | 73 6f 72 74 65 64 20 6c |in. * a |sorted l|
|000001d0| 69 73 74 20 63 61 6c 6c | 65 64 20 61 6e 20 69 6e |ist call|ed an in|
|000001e0| 64 65 78 2e 20 54 68 65 | 20 64 65 66 61 75 6c 74 |dex. The| default|
|000001f0| 20 73 6f 72 74 69 6e 67 | 20 6f 72 64 65 72 20 69 | sorting| order i|
|00000200| 6e 0d 20 2a 20 61 6e 20 | 69 6e 64 65 78 20 69 73 |n. * an |index is|
|00000210| 20 61 73 63 65 6e 64 69 | 6e 67 20 62 79 20 49 44 | ascendi|ng by ID|
|00000220| 20 76 61 6c 75 65 2c 20 | 68 6f 77 65 76 65 72 20 | value, |however |
|00000230| 6f 74 68 65 72 20 73 6f | 72 74 69 6e 67 0d 20 2a |other so|rting. *|
|00000240| 20 6f 72 64 65 72 73 20 | 61 72 65 20 70 6f 73 73 | orders |are poss|
|00000250| 69 62 6c 65 2e 20 54 68 | 65 20 63 6c 61 73 73 20 |ible. Th|e class |
|00000260| 43 4e 61 6d 65 49 6e 64 | 65 78 20 69 6d 70 6c 65 |CNameInd|ex imple|
|00000270| 6d 65 6e 74 73 20 61 0d | 20 2a 20 73 65 63 6f 6e |ments a.| * secon|
|00000280| 64 61 72 79 20 69 6e 64 | 65 78 20 77 68 69 63 68 |dary ind|ex which|
|00000290| 20 6f 72 67 61 6e 69 7a | 65 73 20 6f 62 6a 65 63 | organiz|es objec|
|000002a0| 74 73 20 69 6e 20 61 73 | 63 65 6e 64 69 6e 67 20 |ts in as|cending |
|000002b0| 6f 72 64 65 72 0d 20 2a | 20 62 79 20 6e 61 6d 65 |order. *| by name|
|000002c0| 2e 0d 20 2a 0d 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.. *. **|********|
|000002d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000300| 2a 2f 0d 0d 23 69 66 64 | 65 66 20 71 4e 65 6f 4d |*/..#ifd|ef qNeoM|
|00000310| 61 63 69 6e 74 6f 73 68 | 0d 23 69 6e 63 6c 75 64 |acintosh|.#includ|
|00000320| 65 20 3c 50 61 63 6b 61 | 67 65 73 2e 68 3e 0d 23 |e <Packa|ges.h>.#|
|00000330| 65 6e 64 69 66 0d 23 69 | 6e 63 6c 75 64 65 20 22 |endif.#i|nclude "|
|00000340| 4e 65 6f 54 79 70 65 73 | 2e 68 22 0d 23 69 6e 63 |NeoTypes|.h".#inc|
|00000350| 6c 75 64 65 20 43 4e 65 | 6f 4d 65 74 61 43 6c 61 |lude CNe|oMetaCla|
|00000360| 73 73 48 0d 23 69 6e 63 | 6c 75 64 65 20 43 4e 65 |ssH.#inc|lude CNe|
|00000370| 6f 53 65 6c 65 63 74 48 | 0d 23 69 6e 63 6c 75 64 |oSelectH|.#includ|
|00000380| 65 20 43 4e 65 6f 53 74 | 72 65 61 6d 48 0d 23 69 |e CNeoSt|reamH.#i|
|00000390| 6e 63 6c 75 64 65 20 43 | 4e 65 6f 44 61 74 61 62 |nclude C|NeoDatab|
|000003a0| 61 73 65 48 0d 23 69 6e | 63 6c 75 64 65 20 22 43 |aseH.#in|clude "C|
|000003b0| 4e 61 6d 65 49 6e 64 65 | 78 2e 68 22 0d 23 69 6e |NameInde|x.h".#in|
|000003c0| 63 6c 75 64 65 20 43 4e | 65 6f 43 6c 61 73 73 48 |clude CN|eoClassH|
|000003d0| 0d 23 69 6e 63 6c 75 64 | 65 20 22 43 50 65 72 73 |.#includ|e "CPers|
|000003e0| 6f 6e 2e 68 22 0d 0d 23 | 69 66 6e 64 65 66 20 4e |on.h"..#|ifndef N|
|000003f0| 65 6f 49 6e 68 65 72 69 | 74 65 64 0d 23 64 65 66 |eoInheri|ted.#def|
|00000400| 69 6e 65 20 4e 65 6f 49 | 6e 68 65 72 69 74 65 64 |ine NeoI|nherited|
|00000410| 09 43 4e 65 6f 4e 6f 64 | 65 0d 23 65 6e 64 69 66 |.CNeoNod|e.#endif|
|00000420| 0d 0d 2f 2a 20 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |../* ***|********|
|00000430| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000440| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000450| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000460| 2a 2a 2a 2a 2a 2a 2a 20 | 2a 2f 0d 09 09 09 09 09 |******* |*/......|
|00000470| 09 2f 2a 2a 20 49 6e 73 | 74 61 6e 63 65 20 4d 65 |./** Ins|tance Me|
|00000480| 74 68 6f 64 73 20 2a 2a | 2f 0d 2f 2a 20 2a 2a 2a |thods **|/./* ***|
|00000490| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 20 |********|******* |
|000004d0| 2a 2f 0d 0d 23 70 72 61 | 67 6d 61 20 73 65 67 6d |*/..#pra|gma segm|
|000004e0| 65 6e 74 20 4e 65 6f 43 | 72 65 61 74 65 0d 43 4e |ent NeoC|reate.CN|
|000004f0| 61 6d 65 49 6e 64 65 78 | 3a 3a 43 4e 61 6d 65 49 |ameIndex|::CNameI|
|00000500| 6e 64 65 78 28 63 6f 6e | 73 74 20 73 68 6f 72 74 |ndex(con|st short|
|00000510| 20 61 43 6f 75 6e 74 2c | 20 43 4e 65 6f 4e 6f 64 | aCount,| CNeoNod|
|00000520| 65 20 2a 61 50 61 72 65 | 6e 74 2c 20 63 6f 6e 73 |e *aPare|nt, cons|
|00000530| 74 20 4e 65 6f 49 44 20 | 61 49 44 29 0d 09 3a 20 |t NeoID |aID)..: |
|00000540| 43 4e 65 6f 4e 6f 64 65 | 28 61 43 6f 75 6e 74 2c |CNeoNode|(aCount,|
|00000550| 20 54 52 55 45 2c 20 61 | 50 61 72 65 6e 74 29 0d | TRUE, a|Parent).|
|00000560| 7b 0d 09 66 49 44 20 3d | 20 61 49 44 3b 0d 7d 0d |{..fID =| aID;.}.|
|00000570| 0d 2f 2a 0d 20 2a 20 41 | 6c 6c 6f 63 61 74 65 20 |./*. * A|llocate |
|00000580| 61 6e 64 20 69 6e 69 74 | 69 61 6c 69 7a 65 20 61 |and init|ialize a|
|00000590| 20 6e 65 77 20 69 6e 73 | 74 61 6e 63 65 2e 0d 20 | new ins|tance.. |
|000005a0| 2a 2f 0d 23 70 72 61 67 | 6d 61 20 73 65 67 6d 65 |*/.#prag|ma segme|
|000005b0| 6e 74 20 4e 65 6f 43 72 | 65 61 74 65 0d 43 4e 65 |nt NeoCr|eate.CNe|
|000005c0| 6f 50 65 72 73 69 73 74 | 20 2a 43 4e 61 6d 65 49 |oPersist| *CNameI|
|000005d0| 6e 64 65 78 3a 3a 4e 65 | 77 28 76 6f 69 64 29 0d |ndex::Ne|w(void).|
|000005e0| 7b 0d 09 43 4e 61 6d 65 | 49 6e 64 65 78 20 2a 09 |{..CName|Index *.|
|000005f0| 6f 62 6a 65 63 74 3b 0d | 0d 09 6f 62 6a 65 63 74 |object;.|..object|
|00000600| 20 3d 20 6e 65 77 20 43 | 4e 61 6d 65 49 6e 64 65 | = new C|NameInde|
|00000610| 78 28 30 2c 20 6e 69 6c | 2c 20 30 29 3b 0d 0d 09 |x(0, nil|, 0);...|
|00000620| 72 65 74 75 72 6e 20 6f | 62 6a 65 63 74 3b 0d 7d |return o|bject;.}|
|00000630| 0d 0d 2f 2a 0d 20 2a 20 | 52 65 74 75 72 6e 20 74 |../*. * |Return t|
|00000640| 68 65 20 63 6c 61 73 73 | 20 49 44 20 66 6f 72 20 |he class| ID for |
|00000650| 74 68 69 73 20 6b 69 6e | 64 20 6f 66 20 6f 62 6a |this kin|d of obj|
|00000660| 65 63 74 2e 0d 20 2a 2f | 0d 23 70 72 61 67 6d 61 |ect.. */|.#pragma|
|00000670| 20 73 65 67 6d 65 6e 74 | 20 4e 65 6f 49 6e 66 6f | segment| NeoInfo|
|00000680| 0d 4e 65 6f 49 44 20 43 | 4e 61 6d 65 49 6e 64 65 |.NeoID C|NameInde|
|00000690| 78 3a 3a 67 65 74 43 6c | 61 73 73 49 44 28 76 6f |x::getCl|assID(vo|
|000006a0| 69 64 29 20 63 6f 6e 73 | 74 0d 7b 0d 09 72 65 74 |id) cons|t.{..ret|
|000006b0| 75 72 6e 20 6b 4e 61 6d | 65 49 6e 64 65 78 49 44 |urn kNam|eIndexID|
|000006c0| 3b 0d 7d 0d 0d 2f 2a 0d | 20 2a 20 54 68 65 20 67 |;.}../*.| * The g|
|000006d0| 65 74 45 6e 74 72 79 56 | 61 6c 75 65 20 6d 65 74 |etEntryV|alue met|
|000006e0| 68 6f 64 20 63 61 6e 20 | 62 65 20 75 73 65 64 20 |hod can |be used |
|000006f0| 74 6f 20 6f 62 74 61 69 | 6e 20 74 68 65 20 76 61 |to obtai|n the va|
|00000700| 6c 75 65 20 6f 66 20 61 | 20 64 61 74 61 20 6d 65 |lue of a| data me|
|00000710| 6d 62 65 72 20 6f 66 0d | 20 2a 20 74 68 65 20 65 |mber of.| * the e|
|00000720| 6e 74 72 79 20 72 65 66 | 65 72 72 65 64 20 74 6f |ntry ref|erred to|
|00000730| 20 62 79 20 61 49 6e 64 | 65 78 2e 20 54 68 65 20 | by aInd|ex. The |
|00000740| 61 4e 61 6d 65 20 61 72 | 67 75 6d 65 6e 74 20 69 |aName ar|gument i|
|00000750| 73 20 61 20 74 61 67 20 | 77 68 69 63 68 20 69 64 |s a tag |which id|
|00000760| 65 6e 74 69 66 69 65 73 | 0d 20 2a 20 74 68 65 20 |entifies|. * the |
|00000770| 64 61 74 61 20 6d 65 6d | 62 65 72 2c 20 61 6e 64 |data mem|ber, and|
|00000780| 20 61 54 79 70 65 20 72 | 65 66 65 72 73 20 74 6f | aType r|efers to|
|00000790| 20 74 68 65 20 66 6f 72 | 6d 61 74 20 69 6e 20 77 | the for|mat in w|
|000007a0| 68 69 63 68 20 74 68 65 | 20 76 61 6c 75 65 20 69 |hich the| value i|
|000007b0| 73 20 74 6f 20 62 65 0d | 20 2a 20 72 65 74 75 72 |s to be.| * retur|
|000007c0| 6e 65 64 2e 20 46 69 6e | 61 6c 6c 79 2c 20 61 56 |ned. Fin|ally, aV|
|000007d0| 61 6c 75 65 20 69 73 20 | 61 20 70 6f 69 6e 74 65 |alue is |a pointe|
|000007e0| 72 20 74 6f 20 61 20 62 | 75 66 66 65 72 20 69 6e |r to a b|uffer in|
|000007f0| 74 6f 20 77 68 69 63 68 | 20 74 68 65 20 76 61 6c |to which| the val|
|00000800| 75 65 20 73 68 6f 75 6c | 64 0d 20 2a 20 62 65 20 |ue shoul|d. * be |
|00000810| 72 65 74 75 72 6e 65 64 | 2e 0d 20 2a 2f 0d 23 70 |returned|.. */.#p|
|00000820| 72 61 67 6d 61 20 73 65 | 67 6d 65 6e 74 20 4e 65 |ragma se|gment Ne|
|00000830| 6f 53 65 61 72 63 68 0d | 4f 53 45 72 72 20 43 4e |oSearch.|OSErr CN|
|00000840| 61 6d 65 49 6e 64 65 78 | 3a 3a 67 65 74 45 6e 74 |ameIndex|::getEnt|
|00000850| 72 79 56 61 6c 75 65 28 | 63 6f 6e 73 74 20 73 68 |ryValue(|const sh|
|00000860| 6f 72 74 20 61 49 6e 64 | 65 78 2c 20 63 6f 6e 73 |ort aInd|ex, cons|
|00000870| 74 20 4e 65 6f 54 61 67 | 20 61 4e 61 6d 65 2c 20 |t NeoTag| aName, |
|00000880| 63 6f 6e 73 74 20 4e 65 | 6f 54 61 67 20 61 54 79 |const Ne|oTag aTy|
|00000890| 70 65 2c 20 76 6f 69 64 | 20 2a 61 56 61 6c 75 65 |pe, void| *aValue|
|000008a0| 29 0d 7b 0d 09 4f 53 45 | 72 72 09 65 72 72 09 09 |).{..OSE|rr.err..|
|000008b0| 3d 20 6e 6f 45 72 72 3b | 0d 0d 09 4e 65 6f 41 73 |= noErr;|...NeoAs|
|000008c0| 73 65 72 74 28 61 49 6e | 64 65 78 20 3e 3d 20 30 |sert(aIn|dex >= 0|
|000008d0| 20 26 26 20 61 49 6e 64 | 65 78 20 3c 20 66 43 6f | && aInd|ex < fCo|
|000008e0| 75 6e 74 29 3b 0d 09 73 | 77 69 74 63 68 20 28 61 |unt);..s|witch (a|
|000008f0| 4e 61 6d 65 29 20 7b 0d | 09 63 61 73 65 20 70 4e |Name) {.|.case pN|
|00000900| 65 6f 4e 61 6d 65 3a 0d | 09 09 4e 65 6f 41 73 73 |eoName:.|..NeoAss|
|00000910| 65 72 74 28 61 54 79 70 | 65 20 3d 3d 20 6b 4e 65 |ert(aTyp|e == kNe|
|00000920| 6f 4e 61 74 69 76 65 53 | 74 72 69 6e 67 54 79 70 |oNativeS|tringTyp|
|00000930| 65 29 3b 0d 09 09 2a 28 | 43 4e 65 6f 53 74 72 69 |e);...*(|CNeoStri|
|00000940| 6e 67 20 2a 29 61 56 61 | 6c 75 65 20 3d 20 66 45 |ng *)aVa|lue = fE|
|00000950| 6e 74 72 79 5b 61 49 6e | 64 65 78 5d 2e 66 4e 61 |ntry[aIn|dex].fNa|
|00000960| 6d 65 3b 0d 09 09 62 72 | 65 61 6b 3b 0d 0d 09 63 |me;...br|eak;...c|
|00000970| 61 73 65 20 70 4e 65 6f | 49 44 3a 0d 09 09 4e 65 |ase pNeo|ID:...Ne|
|00000980| 6f 41 73 73 65 72 74 28 | 61 54 79 70 65 20 3d 3d |oAssert(|aType ==|
|00000990| 20 6b 4e 65 6f 4c 6f 6e | 67 54 79 70 65 29 3b 0d | kNeoLon|gType);.|
|000009a0| 09 09 2a 28 4e 65 6f 49 | 44 20 2a 29 61 56 61 6c |..*(NeoI|D *)aVal|
|000009b0| 75 65 20 3d 20 66 45 6e | 74 72 79 5b 61 49 6e 64 |ue = fEn|try[aInd|
|000009c0| 65 78 5d 2e 66 49 44 3b | 0d 09 09 62 72 65 61 6b |ex].fID;|...break|
|000009d0| 3b 0d 0d 09 64 65 66 61 | 75 6c 74 3a 0d 09 09 65 |;...defa|ult:...e|
|000009e0| 72 72 20 3d 20 4e 65 6f | 49 6e 68 65 72 69 74 65 |rr = Neo|Inherite|
|000009f0| 64 3a 3a 67 65 74 45 6e | 74 72 79 56 61 6c 75 65 |d::getEn|tryValue|
|00000a00| 28 61 49 6e 64 65 78 2c | 20 61 4e 61 6d 65 2c 20 |(aIndex,| aName, |
|00000a10| 61 54 79 70 65 2c 20 61 | 56 61 6c 75 65 29 3b 0d |aType, a|Value);.|
|00000a20| 09 7d 0d 0d 09 72 65 74 | 75 72 6e 20 65 72 72 3b |.}...ret|urn err;|
|00000a30| 0d 7d 0d 0d 2f 2a 0d 20 | 2a 20 52 65 74 75 72 6e |.}../*. |* Return|
|00000a40| 20 74 68 65 20 73 69 7a | 65 20 6f 66 20 74 68 65 | the siz|e of the|
|00000a50| 20 6f 62 6a 65 63 74 20 | 69 6e 20 6d 65 6d 6f 72 | object |in memor|
|00000a60| 79 2e 0d 20 2a 2f 0d 23 | 70 72 61 67 6d 61 20 73 |y.. */.#|pragma s|
|00000a70| 65 67 6d 65 6e 74 20 4e | 65 6f 49 6e 66 6f 0d 6c |egment N|eoInfo.l|
|00000a80| 6f 6e 67 20 43 4e 61 6d | 65 49 6e 64 65 78 3a 3a |ong CNam|eIndex::|
|00000a90| 67 65 74 4c 65 6e 67 74 | 68 28 76 6f 69 64 29 20 |getLengt|h(void) |
|00000aa0| 63 6f 6e 73 74 0d 7b 0d | 09 72 65 74 75 72 6e 20 |const.{.|.return |
|00000ab0| 73 69 7a 65 6f 66 28 43 | 4e 61 6d 65 49 6e 64 65 |sizeof(C|NameInde|
|00000ac0| 78 29 3b 0d 7d 0d 0d 2f | 2a 0d 20 2a 20 54 68 69 |x);.}../|*. * Thi|
|00000ad0| 73 20 6d 65 74 68 6f 64 | 20 72 65 74 75 72 6e 73 |s method| returns|
|00000ae0| 20 74 68 65 20 61 6d 6f | 75 6e 74 20 6f 66 20 66 | the amo|unt of f|
|00000af0| 69 6c 65 20 73 70 61 63 | 65 20 74 68 65 20 6f 62 |ile spac|e the ob|
|00000b00| 6a 65 63 74 20 6f 63 63 | 75 70 69 65 73 20 69 6e |ject occ|upies in|
|00000b10| 20 74 68 65 20 66 69 6c | 65 2e 20 49 74 0d 20 2a | the fil|e. It. *|
|00000b20| 20 64 69 66 66 65 72 73 | 20 66 72 6f 6d 20 74 68 | differs| from th|
|00000b30| 65 20 67 65 74 4c 65 6e | 67 74 68 20 69 6e 20 74 |e getLen|gth in t|
|00000b40| 68 61 74 20 67 65 74 4c | 65 6e 67 74 68 20 72 65 |hat getL|ength re|
|00000b50| 74 75 72 6e 73 20 74 68 | 65 20 73 69 7a 65 20 6f |turns th|e size o|
|00000b60| 66 20 74 68 65 20 6f 62 | 6a 65 63 74 20 69 6e 0d |f the ob|ject in.|
|00000b70| 20 2a 20 6d 65 6d 6f 72 | 79 2e 0d 20 2a 2f 0d 23 | * memor|y.. */.#|
|00000b80| 70 72 61 67 6d 61 20 73 | 65 67 6d 65 6e 74 20 4e |pragma s|egment N|
|00000b90| 65 6f 49 6e 66 6f 0d 6c | 6f 6e 67 20 43 4e 61 6d |eoInfo.l|ong CNam|
|00000ba0| 65 49 6e 64 65 78 3a 3a | 67 65 74 46 69 6c 65 4c |eIndex::|getFileL|
|00000bb0| 65 6e 67 74 68 28 76 6f | 69 64 29 20 63 6f 6e 73 |ength(vo|id) cons|
|00000bc0| 74 0d 7b 0d 09 72 65 74 | 75 72 6e 20 28 6b 4e 65 |t.{..ret|urn (kNe|
|00000bd0| 6f 4e 6f 64 65 46 69 6c | 65 4c 65 6e 67 74 68 20 |oNodeFil|eLength |
|00000be0| 2b 20 28 73 69 7a 65 6f | 66 28 4e 61 6d 65 49 6e |+ (sizeo|f(NameIn|
|00000bf0| 64 65 78 45 6e 74 72 79 | 29 20 2a 20 6b 4e 65 6f |dexEntry|) * kNeo|
|00000c00| 44 65 66 61 75 6c 74 4e | 6f 64 65 45 6e 74 72 79 |DefaultN|odeEntry|
|00000c10| 43 6f 75 6e 74 29 29 3b | 0d 7d 0d 0d 2f 2a 20 2a |Count));|.}../* *|
|00000c20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000c60| 2a 20 2a 2f 0d 09 09 09 | 09 09 09 2f 2a 2a 20 49 |* */....|.../** I|
|00000c70| 2f 4f 20 4d 65 74 68 6f | 64 73 20 2a 2a 2f 0d 2f |/O Metho|ds **/./|
|00000c80| 2a 20 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |* ******|********|
|00000c90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000ca0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000cb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000cc0| 2a 2a 2a 2a 20 2a 2f 0d | 0d 2f 2a 0d 20 2a 20 54 |**** */.|./*. * T|
|00000cd0| 68 65 20 72 65 61 64 4f | 62 6a 65 63 74 20 6d 65 |he readO|bject me|
|00000ce0| 74 68 6f 64 20 69 73 20 | 75 73 65 64 20 74 6f 20 |thod is |used to |
|00000cf0| 72 65 61 64 20 69 6e 20 | 74 68 65 20 70 65 72 6d |read in |the perm|
|00000d00| 61 6e 65 6e 74 20 64 61 | 74 61 20 6d 65 6d 62 65 |anent da|ta membe|
|00000d10| 72 73 20 6f 66 20 74 68 | 65 0d 20 2a 20 6f 62 6a |rs of th|e. * obj|
|00000d20| 65 63 74 20 66 72 6f 6d | 20 74 68 65 20 67 69 76 |ect from| the giv|
|00000d30| 65 6e 20 73 74 72 65 61 | 6d 2e 20 49 6e 20 6d 6f |en strea|m. In mo|
|00000d40| 73 74 20 63 61 73 65 73 | 2c 20 74 68 69 73 20 6d |st cases|, this m|
|00000d50| 65 74 68 6f 64 20 6f 70 | 65 72 61 74 65 73 20 77 |ethod op|erates w|
|00000d60| 69 74 68 6f 75 74 20 63 | 6f 6e 63 65 72 6e 0d 20 |ithout c|oncern. |
|00000d70| 2a 20 66 6f 72 20 74 68 | 65 20 74 79 70 65 20 6f |* for th|e type o|
|00000d80| 66 20 73 74 72 65 61 6d | 20 74 68 65 20 64 61 74 |f stream| the dat|
|00000d90| 61 20 76 61 6c 75 65 73 | 20 61 72 65 20 63 6f 6d |a values| are com|
|00000da0| 69 6e 67 20 66 72 6f 6d | 2e 20 41 73 20 61 20 72 |ing from|. As a r|
|00000db0| 65 73 75 6c 74 2c 20 74 | 68 69 73 20 6d 65 74 68 |esult, t|his meth|
|00000dc0| 6f 64 0d 20 2a 20 69 73 | 20 63 61 70 61 62 6c 65 |od. * is| capable|
|00000dd0| 20 6f 66 20 72 65 61 64 | 69 6e 67 20 66 72 6f 6d | of read|ing from|
|00000de0| 20 73 75 63 68 20 64 69 | 76 65 72 73 65 20 73 6f | such di|verse so|
|00000df0| 75 72 63 65 73 20 61 73 | 20 74 68 65 20 64 61 74 |urces as| the dat|
|00000e00| 61 20 66 6f 72 6b 20 6f | 66 20 61 20 66 69 6c 65 |a fork o|f a file|
|00000e10| 2c 20 61 0d 20 2a 20 72 | 65 73 6f 75 72 63 65 20 |, a. * r|esource |
|00000e20| 66 6f 72 6b 2c 20 61 6e | 20 41 70 70 6c 65 45 76 |fork, an| AppleEv|
|00000e30| 65 6e 74 2c 20 74 68 65 | 20 63 6c 69 70 62 6f 61 |ent, the| clipboa|
|00000e40| 72 64 2c 20 61 20 6d 65 | 6d 6f 72 79 20 62 6c 6f |rd, a me|mory blo|
|00000e50| 63 6b 2c 20 61 6e 64 20 | 73 6f 20 6f 6e 2e 0d 20 |ck, and |so on.. |
|00000e60| 2a 0d 20 2a 20 54 68 65 | 20 61 54 61 67 20 61 72 |*. * The| aTag ar|
|00000e70| 67 75 6d 65 6e 74 20 69 | 6e 64 69 63 61 74 65 73 |gument i|ndicates|
|00000e80| 20 68 6f 77 20 6d 75 63 | 68 20 69 6e 66 6f 72 6d | how muc|h inform|
|00000e90| 61 74 69 6f 6e 20 74 6f | 20 72 65 61 64 20 66 72 |ation to| read fr|
|00000ea0| 6f 6d 20 74 68 65 20 73 | 74 72 65 61 6d 2e 0d 20 |om the s|tream.. |
|00000eb0| 2a 20 49 74 20 69 73 20 | 73 6f 6d 65 74 69 6d 65 |* It is |sometime|
|00000ec0| 73 20 73 75 66 66 69 63 | 69 65 6e 74 20 74 6f 20 |s suffic|ient to |
|00000ed0| 72 65 61 64 20 69 6e 20 | 61 20 6d 69 6e 69 6d 75 |read in |a minimu|
|00000ee0| 6d 20 61 6d 6f 75 6e 74 | 20 6f 66 20 64 61 74 61 |m amount| of data|
|00000ef0| 20 61 6e 64 20 68 61 76 | 65 20 61 6c 6c 0d 20 2a | and hav|e all. *|
|00000f00| 20 6f 74 68 65 72 20 64 | 61 74 61 20 62 65 20 72 | other d|ata be r|
|00000f10| 65 61 64 20 69 6e 20 6f | 6e 20 64 65 6d 61 6e 64 |ead in o|n demand|
|00000f20| 2e 20 4f 74 68 65 72 20 | 74 69 6d 65 73 20 69 74 |. Other |times it|
|00000f30| 20 69 73 20 6e 65 63 65 | 73 73 61 72 79 20 74 6f | is nece|ssary to|
|00000f40| 20 72 65 61 64 20 61 6c | 6c 20 74 68 65 0d 20 2a | read al|l the. *|
|00000f50| 20 64 61 74 61 20 69 6d | 6d 65 64 69 61 74 65 6c | data im|mediatel|
|00000f60| 79 20 61 73 20 74 68 65 | 20 73 74 72 65 61 6d 20 |y as the| stream |
|00000f70| 6d 61 79 20 6e 6f 74 20 | 62 65 20 61 76 61 69 6c |may not |be avail|
|00000f80| 61 62 6c 65 20 6c 61 74 | 65 72 2e 0d 20 2a 0d 20 |able lat|er.. *. |
|00000f90| 2a 20 54 68 65 20 74 77 | 6f 20 74 61 67 20 76 61 |* The tw|o tag va|
|00000fa0| 6c 75 65 73 20 74 68 61 | 74 20 61 72 65 20 63 75 |lues tha|t are cu|
|00000fb0| 72 72 65 6e 74 6c 79 20 | 75 73 65 64 20 61 72 65 |rrently |used are|
|00000fc0| 20 6b 4e 65 6f 4f 62 6a | 65 63 74 54 61 67 20 61 | kNeoObj|ectTag a|
|00000fd0| 6e 64 20 6b 4e 65 6f 41 | 6c 6c 54 61 67 2e 0d 20 |nd kNeoA|llTag.. |
|00000fe0| 2a 0d 20 2a 20 54 68 65 | 20 76 61 6c 75 65 20 6b |*. * The| value k|
|00000ff0| 4e 65 6f 4f 62 6a 65 63 | 74 54 61 67 20 6d 65 61 |NeoObjec|tTag mea|
|00001000| 6e 73 20 74 68 61 74 20 | 6f 6e 6c 79 20 74 68 6f |ns that |only tho|
|00001010| 73 65 20 76 61 6c 75 65 | 73 20 6f 66 20 69 6d 6d |se value|s of imm|
|00001020| 65 64 69 61 74 65 20 69 | 6e 74 65 72 65 73 74 0d |ediate i|nterest.|
|00001030| 20 2a 20 6e 65 65 64 20 | 74 6f 20 62 65 20 72 65 | * need |to be re|
|00001040| 61 64 20 66 72 6f 6d 20 | 74 68 65 20 73 74 72 65 |ad from |the stre|
|00001050| 61 6d 2c 20 74 68 6f 75 | 67 68 20 69 6d 70 6c 65 |am, thou|gh imple|
|00001060| 6d 65 6e 74 61 74 69 6f | 6e 73 20 6f 66 20 72 65 |mentatio|ns of re|
|00001070| 61 64 4f 62 6a 65 63 74 | 20 6d 61 79 20 72 65 61 |adObject| may rea|
|00001080| 64 0d 20 2a 20 69 6e 20 | 61 64 64 69 74 69 6f 6e |d. * in |addition|
|00001090| 61 6c 20 64 61 74 61 20 | 6d 65 6d 62 65 72 20 76 |al data |member v|
|000010a0| 61 6c 75 65 73 20 69 66 | 20 74 68 65 79 20 77 69 |alues if| they wi|
|000010b0| 73 68 2e 0d 20 2a 0d 20 | 2a 20 54 68 65 20 76 61 |sh.. *. |* The va|
|000010c0| 6c 75 65 20 6b 4e 65 6f | 41 6c 6c 54 61 67 20 69 |lue kNeo|AllTag i|
|000010d0| 6e 64 69 63 61 74 65 73 | 20 74 68 61 74 20 61 6c |ndicates| that al|
|000010e0| 6c 20 64 61 74 61 20 6d | 65 6d 62 65 72 20 76 61 |l data m|ember va|
|000010f0| 6c 75 65 73 20 66 6f 72 | 20 74 68 69 73 20 63 6c |lues for| this cl|
|00001100| 61 73 73 0d 20 2a 20 73 | 68 6f 75 6c 64 20 62 65 |ass. * s|hould be|
|00001110| 20 72 65 61 64 20 69 6e | 20 74 6f 20 74 68 65 20 | read in| to the |
|00001120| 73 74 72 65 61 6d 2e 0d | 20 2a 2f 0d 23 70 72 61 |stream..| */.#pra|
|00001130| 67 6d 61 20 73 65 67 6d | 65 6e 74 20 4e 65 6f 52 |gma segm|ent NeoR|
|00001140| 65 61 64 0d 76 6f 69 64 | 20 43 4e 61 6d 65 49 6e |ead.void| CNameIn|
|00001150| 64 65 78 3a 3a 72 65 61 | 64 4f 62 6a 65 63 74 28 |dex::rea|dObject(|
|00001160| 43 4e 65 6f 53 74 72 65 | 61 6d 20 2a 61 53 74 72 |CNeoStre|am *aStr|
|00001170| 65 61 6d 2c 20 63 6f 6e | 73 74 20 4e 65 6f 54 61 |eam, con|st NeoTa|
|00001180| 67 20 61 54 61 67 29 0d | 7b 0d 09 73 68 6f 72 74 |g aTag).|{..short|
|00001190| 09 69 6e 64 65 78 3b 0d | 0d 09 4e 65 6f 49 6e 68 |.index;.|..NeoInh|
|000011a0| 65 72 69 74 65 64 3a 3a | 72 65 61 64 4f 62 6a 65 |erited::|readObje|
|000011b0| 63 74 28 61 53 74 72 65 | 61 6d 2c 20 61 54 61 67 |ct(aStre|am, aTag|
|000011c0| 29 3b 0d 0d 09 66 6f 72 | 20 28 69 6e 64 65 78 20 |);...for| (index |
|000011d0| 3d 20 30 3b 20 69 6e 64 | 65 78 20 3c 20 66 43 6f |= 0; ind|ex < fCo|
|000011e0| 75 6e 74 3b 20 69 6e 64 | 65 78 2b 2b 29 20 7b 0d |unt; ind|ex++) {.|
|000011f0| 09 09 66 45 6e 74 72 79 | 5b 69 6e 64 65 78 5d 2e |..fEntry|[index].|
|00001200| 66 49 44 20 3d 20 61 53 | 74 72 65 61 6d 2d 3e 72 |fID = aS|tream->r|
|00001210| 65 61 64 4c 6f 6e 67 28 | 29 3b 0d 09 09 61 53 74 |eadLong(|);...aSt|
|00001220| 72 65 61 6d 2d 3e 72 65 | 61 64 4e 61 74 69 76 65 |ream->re|adNative|
|00001230| 53 74 72 69 6e 67 28 66 | 45 6e 74 72 79 5b 69 6e |String(f|Entry[in|
|00001240| 64 65 78 5d 2e 66 4e 61 | 6d 65 2c 20 73 69 7a 65 |dex].fNa|me, size|
|00001250| 6f 66 28 66 45 6e 74 72 | 79 5b 69 6e 64 65 78 5d |of(fEntr|y[index]|
|00001260| 2e 66 4e 61 6d 65 29 29 | 3b 0d 09 7d 0d 7d 0d 0d |.fName))|;..}.}..|
|00001270| 2f 2a 0d 20 2a 20 54 68 | 65 20 77 72 69 74 65 4f |/*. * Th|e writeO|
|00001280| 62 6a 65 63 74 20 6d 65 | 74 68 6f 64 20 69 73 20 |bject me|thod is |
|00001290| 75 73 65 64 20 74 6f 20 | 77 72 69 74 65 20 74 6f |used to |write to|
|000012a0| 20 74 68 65 20 70 65 72 | 6d 61 6e 65 6e 74 20 64 | the per|manent d|
|000012b0| 61 74 61 20 6d 65 6d 62 | 65 72 73 20 6f 66 20 74 |ata memb|ers of t|
|000012c0| 68 65 0d 20 2a 20 6f 62 | 6a 65 63 74 20 66 72 6f |he. * ob|ject fro|
|000012d0| 6d 20 74 68 65 20 67 69 | 76 65 6e 20 73 74 72 65 |m the gi|ven stre|
|000012e0| 61 6d 2e 20 49 6e 20 6d | 6f 73 74 20 63 61 73 65 |am. In m|ost case|
|000012f0| 73 2c 20 74 68 69 73 20 | 6d 65 74 68 6f 64 20 6f |s, this |method o|
|00001300| 70 65 72 61 74 65 73 20 | 77 69 74 68 6f 75 74 20 |perates |without |
|00001310| 63 6f 6e 63 65 72 6e 0d | 20 2a 20 66 6f 72 20 74 |concern.| * for t|
|00001320| 68 65 20 74 79 70 65 20 | 6f 66 20 73 74 72 65 61 |he type |of strea|
|00001330| 6d 20 74 68 65 20 64 61 | 74 61 20 76 61 6c 75 65 |m the da|ta value|
|00001340| 73 20 61 72 65 20 63 6f | 6d 69 6e 67 20 66 72 6f |s are co|ming fro|
|00001350| 6d 2e 20 41 73 20 61 20 | 72 65 73 75 6c 74 2c 20 |m. As a |result, |
|00001360| 74 68 69 73 20 6d 65 74 | 68 6f 64 0d 20 2a 20 69 |this met|hod. * i|
|00001370| 73 20 63 61 70 61 62 6c | 65 20 6f 66 20 77 72 69 |s capabl|e of wri|
|00001380| 74 69 6e 67 20 74 6f 20 | 73 75 63 68 20 64 69 76 |ting to |such div|
|00001390| 65 72 73 65 20 73 6f 75 | 72 63 65 73 20 61 73 20 |erse sou|rces as |
|000013a0| 74 68 65 20 64 61 74 61 | 20 66 6f 72 6b 20 6f 66 |the data| fork of|
|000013b0| 20 61 20 66 69 6c 65 2c | 20 61 0d 20 2a 20 72 65 | a file,| a. * re|
|000013c0| 73 6f 75 72 63 65 20 66 | 6f 72 6b 2c 20 61 6e 20 |source f|ork, an |
|000013d0| 41 70 70 6c 65 45 76 65 | 6e 74 2c 20 74 68 65 20 |AppleEve|nt, the |
|000013e0| 63 6c 69 70 62 6f 61 72 | 64 2c 20 61 20 6d 65 6d |clipboar|d, a mem|
|000013f0| 6f 72 79 20 62 6c 6f 63 | 6b 2c 20 61 6e 64 20 73 |ory bloc|k, and s|
|00001400| 6f 20 6f 6e 2e 0d 20 2a | 0d 20 2a 20 54 68 65 20 |o on.. *|. * The |
|00001410| 61 54 61 67 20 61 72 67 | 75 6d 65 6e 74 20 69 6e |aTag arg|ument in|
|00001420| 64 69 63 61 74 65 73 20 | 68 6f 77 20 6d 75 63 68 |dicates |how much|
|00001430| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 74 6f 20 | informa|tion to |
|00001440| 77 72 69 74 65 20 74 6f | 20 74 68 65 20 73 74 72 |write to| the str|
|00001450| 65 61 6d 2e 0d 20 2a 20 | 49 74 20 69 73 20 73 6f |eam.. * |It is so|
|00001460| 6d 65 74 69 6d 65 73 20 | 73 75 66 66 69 63 69 65 |metimes |sufficie|
|00001470| 6e 74 20 74 6f 20 77 72 | 69 74 65 20 6f 75 74 20 |nt to wr|ite out |
|00001480| 6f 6e 6c 79 20 74 68 6f | 73 65 20 70 61 72 74 73 |only tho|se parts|
|00001490| 20 74 68 61 74 20 61 72 | 65 20 64 69 72 74 79 2e | that ar|e dirty.|
|000014a0| 20 4f 74 68 65 72 0d 20 | 2a 20 74 69 6d 65 73 20 | Other. |* times |
|000014b0| 69 74 20 69 73 20 6e 65 | 63 65 73 73 61 72 79 20 |it is ne|cessary |
|000014c0| 74 6f 20 77 72 69 74 65 | 20 61 6c 6c 20 74 68 65 |to write| all the|
|000014d0| 20 64 61 74 61 2c 20 61 | 73 20 77 68 65 6e 20 64 | data, a|s when d|
|000014e0| 6f 69 6e 67 20 53 61 76 | 65 20 41 73 20 6f 70 65 |oing Sav|e As ope|
|000014f0| 72 61 74 69 6f 6e 0d 20 | 2a 20 6f 72 20 77 68 65 |ration. |* or whe|
|00001500| 6e 20 63 6f 6d 6d 75 6e | 69 63 61 74 69 6e 67 20 |n commun|icating |
|00001510| 61 6e 20 6f 62 6a 65 63 | 74 27 73 20 63 6f 6d 70 |an objec|t's comp|
|00001520| 6c 65 74 65 20 73 74 61 | 74 65 20 61 63 72 6f 73 |lete sta|te acros|
|00001530| 73 20 61 6e 64 20 52 50 | 43 20 63 68 61 6e 6e 65 |s and RP|C channe|
|00001540| 6c 2e 0d 20 2a 0d 20 2a | 20 54 68 65 20 74 77 6f |l.. *. *| The two|
|00001550| 20 74 61 67 20 76 61 6c | 75 65 73 20 74 68 61 74 | tag val|ues that|
|00001560| 20 61 72 65 20 63 75 72 | 72 65 6e 74 6c 79 20 75 | are cur|rently u|
|00001570| 73 65 64 20 61 72 65 20 | 6b 4e 65 6f 4f 62 6a 65 |sed are |kNeoObje|
|00001580| 63 74 54 61 67 20 61 6e | 64 20 6b 4e 65 6f 41 6c |ctTag an|d kNeoAl|
|00001590| 6c 54 61 67 2e 0d 20 2a | 0d 20 2a 20 54 68 65 20 |lTag.. *|. * The |
|000015a0| 76 61 6c 75 65 20 6b 4e | 65 6f 4f 62 6a 65 63 74 |value kN|eoObject|
|000015b0| 54 61 67 20 6d 65 61 6e | 73 20 74 68 61 74 20 6f |Tag mean|s that o|
|000015c0| 6e 6c 79 20 74 68 6f 73 | 65 20 76 61 6c 75 65 73 |nly thos|e values|
|000015d0| 20 6f 66 20 69 6d 6d 65 | 64 69 61 74 65 20 69 6e | of imme|diate in|
|000015e0| 74 65 72 65 73 74 0d 20 | 2a 20 6e 65 65 64 20 74 |terest. |* need t|
|000015f0| 6f 20 62 65 20 77 72 69 | 74 74 65 6e 20 74 6f 20 |o be wri|tten to |
|00001600| 74 68 65 20 73 74 72 65 | 61 6d 2c 20 74 68 6f 75 |the stre|am, thou|
|00001610| 67 68 20 69 6d 70 6c 65 | 6d 65 6e 74 61 74 69 6f |gh imple|mentatio|
|00001620| 6e 73 20 6f 66 20 77 72 | 69 74 65 4f 62 6a 65 63 |ns of wr|iteObjec|
|00001630| 74 20 6d 61 79 0d 20 2a | 20 77 72 69 74 65 20 6f |t may. *| write o|
|00001640| 75 74 20 61 64 64 69 74 | 69 6f 6e 61 6c 20 64 61 |ut addit|ional da|
|00001650| 74 61 20 6d 65 6d 62 65 | 72 20 76 61 6c 75 65 73 |ta membe|r values|
|00001660| 20 69 66 20 74 68 65 79 | 20 77 69 73 68 2e 0d 20 | if they| wish.. |
|00001670| 2a 0d 20 2a 20 54 68 65 | 20 76 61 6c 75 65 20 6b |*. * The| value k|
|00001680| 4e 65 6f 41 6c 6c 54 61 | 67 20 69 6e 64 69 63 61 |NeoAllTa|g indica|
|00001690| 74 65 73 20 74 68 61 74 | 20 61 6c 6c 20 64 61 74 |tes that| all dat|
|000016a0| 61 20 6d 65 6d 62 65 72 | 20 76 61 6c 75 65 73 20 |a member| values |
|000016b0| 66 6f 72 20 74 68 69 73 | 20 63 6c 61 73 73 0d 20 |for this| class. |
|000016c0| 2a 20 73 68 6f 75 6c 64 | 20 62 65 20 77 72 69 74 |* should| be writ|
|000016d0| 65 6e 20 6f 75 74 20 74 | 6f 20 74 68 65 20 73 74 |en out t|o the st|
|000016e0| 72 65 61 6d 2e 0d 20 2a | 2f 0d 23 70 72 61 67 6d |ream.. *|/.#pragm|
|000016f0| 61 20 73 65 67 6d 65 6e | 74 20 4e 65 6f 57 72 69 |a segmen|t NeoWri|
|00001700| 74 65 0d 76 6f 69 64 20 | 43 4e 61 6d 65 49 6e 64 |te.void |CNameInd|
|00001710| 65 78 3a 3a 77 72 69 74 | 65 4f 62 6a 65 63 74 28 |ex::writ|eObject(|
|00001720| 43 4e 65 6f 53 74 72 65 | 61 6d 20 2a 61 53 74 72 |CNeoStre|am *aStr|
|00001730| 65 61 6d 2c 20 63 6f 6e | 73 74 20 4e 65 6f 54 61 |eam, con|st NeoTa|
|00001740| 67 20 61 54 61 67 29 0d | 7b 0d 09 73 68 6f 72 74 |g aTag).|{..short|
|00001750| 09 69 6e 64 65 78 3b 0d | 0d 09 4e 65 6f 49 6e 68 |.index;.|..NeoInh|
|00001760| 65 72 69 74 65 64 3a 3a | 77 72 69 74 65 4f 62 6a |erited::|writeObj|
|00001770| 65 63 74 28 61 53 74 72 | 65 61 6d 2c 20 61 54 61 |ect(aStr|eam, aTa|
|00001780| 67 29 3b 0d 0d 09 66 6f | 72 20 28 69 6e 64 65 78 |g);...fo|r (index|
|00001790| 20 3d 20 30 3b 20 69 6e | 64 65 78 20 3c 20 66 43 | = 0; in|dex < fC|
|000017a0| 6f 75 6e 74 3b 20 69 6e | 64 65 78 2b 2b 29 20 7b |ount; in|dex++) {|
|000017b0| 0d 09 09 61 53 74 72 65 | 61 6d 2d 3e 77 72 69 74 |...aStre|am->writ|
|000017c0| 65 4c 6f 6e 67 28 66 45 | 6e 74 72 79 5b 69 6e 64 |eLong(fE|ntry[ind|
|000017d0| 65 78 5d 2e 66 49 44 29 | 3b 0d 09 09 61 53 74 72 |ex].fID)|;...aStr|
|000017e0| 65 61 6d 2d 3e 77 72 69 | 74 65 4e 61 74 69 76 65 |eam->wri|teNative|
|000017f0| 53 74 72 69 6e 67 28 66 | 45 6e 74 72 79 5b 69 6e |String(f|Entry[in|
|00001800| 64 65 78 5d 2e 66 4e 61 | 6d 65 2c 20 73 69 7a 65 |dex].fNa|me, size|
|00001810| 6f 66 28 66 45 6e 74 72 | 79 5b 69 6e 64 65 78 5d |of(fEntr|y[index]|
|00001820| 2e 66 4e 61 6d 65 29 29 | 3b 0d 09 7d 0d 7d 0d 0d |.fName))|;..}.}..|
|00001830| 2f 2a 20 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/* *****|********|
|00001840| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001850| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001860| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001870| 2a 2a 2a 2a 2a 20 2a 2f | 0d 09 09 09 09 2f 2a 2a |***** */|...../**|
|00001880| 20 4f 62 6a 65 63 74 20 | 4c 69 73 74 20 4d 61 6e | Object |List Man|
|00001890| 61 67 65 6d 65 6e 74 20 | 4d 65 74 68 6f 64 73 20 |agement |Methods |
|000018a0| 2a 2a 2f 0d 2f 2a 20 2a | 2a 2a 2a 2a 2a 2a 2a 2a |**/./* *|********|
|000018b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000018c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000018d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000018e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 20 2a 2f 0d 0d 0d 2f |********|* */.../|
|000018f0| 2a 0d 20 2a 20 54 68 69 | 73 20 6d 65 74 68 6f 64 |*. * Thi|s method|
|00001900| 20 72 65 61 64 73 20 69 | 6e 20 74 68 65 20 6f 62 | reads i|n the ob|
|00001910| 6a 65 63 74 20 72 65 66 | 65 72 72 65 64 20 74 6f |ject ref|erred to|
|00001920| 20 62 79 20 74 68 65 20 | 73 70 65 63 69 66 69 65 | by the |specifie|
|00001930| 64 20 65 6e 74 72 79 2e | 20 53 65 63 6f 6e 64 61 |d entry.| Seconda|
|00001940| 72 79 0d 20 2a 20 69 6e | 64 69 63 65 73 20 64 6f |ry. * in|dices do|
|00001950| 20 6e 6f 74 20 72 65 66 | 65 72 20 64 69 72 65 63 | not ref|er direc|
|00001960| 74 6c 79 20 74 6f 20 74 | 68 65 20 6f 62 6a 65 63 |tly to t|he objec|
|00001970| 74 20 69 6e 20 74 68 65 | 20 66 69 6c 65 20 6f 72 |t in the| file or|
|00001980| 20 69 6e 20 6d 65 6d 6f | 72 79 2e 20 49 6e 73 74 | in memo|ry. Inst|
|00001990| 65 61 64 2c 0d 20 2a 20 | 74 68 65 20 73 70 65 63 |ead,. * |the spec|
|000019a0| 69 66 69 65 64 20 65 6e | 74 72 79 20 6f 66 20 74 |ified en|try of t|
|000019b0| 68 69 73 20 69 6e 64 65 | 78 20 63 6f 6e 74 61 69 |his inde|x contai|
|000019c0| 6e 73 20 74 68 65 20 69 | 6e 66 6f 72 6d 61 74 69 |ns the i|nformati|
|000019d0| 6f 6e 20 6e 65 63 65 73 | 73 61 72 79 20 74 6f 0d |on neces|sary to.|
|000019e0| 20 2a 20 6c 6f 63 61 74 | 65 20 74 68 65 20 6f 62 | * locat|e the ob|
|000019f0| 6a 65 63 74 20 75 73 69 | 6e 67 20 74 68 65 20 70 |ject usi|ng the p|
|00001a00| 72 69 6d 61 72 79 20 69 | 6e 64 65 78 2e 0d 20 2a |rimary i|ndex.. *|
|00001a10| 0d 20 2a 20 4e 6f 74 65 | 3a 20 54 68 65 20 67 65 |. * Note|: The ge|
|00001a20| 74 4f 62 6a 65 63 74 20 | 6d 65 74 68 6f 64 20 69 |tObject |method i|
|00001a30| 73 20 6e 6f 74 20 73 75 | 70 70 6f 73 65 64 20 74 |s not su|pposed t|
|00001a40| 6f 20 61 64 64 20 61 20 | 72 65 66 65 72 65 6e 63 |o add a |referenc|
|00001a50| 65 20 74 6f 20 74 68 65 | 20 6f 62 6a 65 63 74 2e |e to the| object.|
|00001a60| 0d 20 2a 20 41 73 20 73 | 75 63 68 2c 20 74 68 65 |. * As s|uch, the|
|00001a70| 20 72 65 66 65 72 65 6e | 63 65 20 61 64 64 65 64 | referen|ce added|
|00001a80| 20 62 79 20 46 69 6e 64 | 42 79 49 44 20 69 73 20 | by Find|ByID is |
|00001a90| 72 65 6d 6f 76 65 64 20 | 62 65 66 6f 72 65 20 70 |removed |before p|
|00001aa0| 61 73 73 69 6e 67 20 74 | 68 65 20 6f 62 6a 65 63 |assing t|he objec|
|00001ab0| 74 0d 20 2a 20 62 61 63 | 6b 20 74 6f 20 6f 75 72 |t. * bac|k to our|
|00001ac0| 20 63 61 6c 6c 65 72 2e | 0d 20 2a 2f 0d 23 70 72 | caller.|. */.#pr|
|00001ad0| 61 67 6d 61 20 73 65 67 | 6d 65 6e 74 20 4e 65 6f |agma seg|ment Neo|
|00001ae0| 53 65 61 72 63 68 0d 43 | 4e 65 6f 50 65 72 73 69 |Search.C|NeoPersi|
|00001af0| 73 74 20 2a 43 4e 61 6d | 65 49 6e 64 65 78 3a 3a |st *CNam|eIndex::|
|00001b00| 67 65 74 4f 62 6a 65 63 | 74 28 63 6f 6e 73 74 20 |getObjec|t(const |
|00001b10| 73 68 6f 72 74 20 61 49 | 6e 64 65 78 29 0d 7b 0d |short aI|ndex).{.|
|00001b20| 09 43 4e 65 6f 50 65 72 | 73 69 73 74 20 2a 09 6f |.CNeoPer|sist *.o|
|00001b30| 62 6a 65 63 74 3b 0d 09 | 43 4e 65 6f 49 44 53 65 |bject;..|CNeoIDSe|
|00001b40| 6c 65 63 74 09 6b 65 79 | 28 66 45 6e 74 72 79 5b |lect.key|(fEntry[|
|00001b50| 61 49 6e 64 65 78 5d 2e | 66 49 44 29 3b 0d 0d 09 |aIndex].|fID);...|
|00001b60| 6f 62 6a 65 63 74 20 3d | 20 28 43 4e 65 6f 50 65 |object =| (CNeoPe|
|00001b70| 72 73 69 73 74 20 2a 29 | 43 4e 65 6f 43 6c 61 73 |rsist *)|CNeoClas|
|00001b80| 73 3a 3a 46 69 6e 64 4f | 62 6a 65 63 74 28 43 4e |s::FindO|bject(CN|
|00001b90| 65 6f 4d 65 74 61 43 6c | 61 73 73 3a 3a 46 4f 62 |eoMetaCl|ass::FOb|
|00001ba0| 6a 43 6c 61 73 73 49 44 | 2c 20 26 6b 65 79 2c 20 |jClassID|, &key, |
|00001bb0| 46 41 4c 53 45 2c 20 6e | 69 6c 2c 20 6e 69 6c 29 |FALSE, n|il, nil)|
|00001bc0| 3b 0d 09 6f 62 6a 65 63 | 74 2d 3e 75 6e 72 65 66 |;..objec|t->unref|
|00001bd0| 65 72 28 29 3b 09 09 09 | 09 2f 2f 20 4f 75 72 20 |er();...|.// Our |
|00001be0| 63 61 6c 6c 65 72 20 77 | 69 6c 6c 20 61 64 64 20 |caller w|ill add |
|00001bf0| 74 68 65 20 72 65 66 65 | 72 65 6e 63 65 20 69 66 |the refe|rence if|
|00001c00| 20 69 74 20 77 61 6e 74 | 73 20 74 6f 0d 0d 09 72 | it want|s to...r|
|00001c10| 65 74 75 72 6e 20 6f 62 | 6a 65 63 74 3b 0d 7d 0d |eturn ob|ject;.}.|
|00001c20| 0d 2f 2a 0d 20 2a 20 54 | 68 69 73 20 6d 65 74 68 |./*. * T|his meth|
|00001c30| 6f 64 20 6c 6f 63 61 74 | 65 73 20 74 68 65 20 6c |od locat|es the l|
|00001c40| 65 61 66 20 6f 66 20 74 | 68 65 20 69 6e 64 65 78 |eaf of t|he index|
|00001c50| 20 74 72 65 65 20 69 6e | 74 6f 20 77 68 69 63 68 | tree in|to which|
|00001c60| 20 74 68 65 20 6f 62 6a | 65 63 74 0d 20 2a 20 73 | the obj|ect. * s|
|00001c70| 68 6f 75 6c 64 20 62 65 | 20 61 64 64 65 64 2e 20 |hould be| added. |
|00001c80| 54 68 65 6e 20 69 74 20 | 66 69 6c 6c 73 20 69 6e |Then it |fills in|
|00001c90| 20 74 68 65 20 61 74 74 | 72 69 62 75 74 65 73 20 | the att|ributes |
|00001ca0| 6f 66 20 74 68 65 20 6e | 65 77 20 65 6e 74 72 79 |of the n|ew entry|
|00001cb0| 20 61 6e 64 20 63 61 6c | 6c 73 0d 20 2a 20 69 6e | and cal|ls. * in|
|00001cc0| 73 65 72 74 45 6e 74 72 | 79 28 29 20 74 6f 20 61 |sertEntr|y() to a|
|00001cd0| 64 64 20 69 74 20 69 6e | 20 74 68 65 20 70 72 6f |dd it in| the pro|
|00001ce0| 70 65 72 20 70 6c 61 63 | 65 20 69 6e 20 74 68 65 |per plac|e in the|
|00001cf0| 20 6c 69 73 74 2e 0d 20 | 2a 2f 0d 23 70 72 61 67 | list.. |*/.#prag|
|00001d00| 6d 61 20 73 65 67 6d 65 | 6e 74 20 4e 65 6f 41 64 |ma segme|nt NeoAd|
|00001d10| 64 0d 43 4e 65 6f 4e 6f | 64 65 20 2a 43 4e 61 6d |d.CNeoNo|de *CNam|
|00001d20| 65 49 6e 64 65 78 3a 3a | 69 6e 73 65 72 74 4f 62 |eIndex::|insertOb|
|00001d30| 6a 65 63 74 28 63 6f 6e | 73 74 20 73 68 6f 72 74 |ject(con|st short|
|00001d40| 20 61 49 6e 64 65 78 2c | 20 43 4e 65 6f 50 65 72 | aIndex,| CNeoPer|
|00001d50| 73 69 73 74 20 2a 61 4f | 62 6a 65 63 74 29 0d 7b |sist *aO|bject).{|
|00001d60| 0d 09 4e 65 6f 49 44 09 | 09 09 6f 6c 64 43 6c 61 |..NeoID.|..oldCla|
|00001d70| 73 73 49 44 3b 0d 09 43 | 4e 65 6f 4e 6f 64 65 20 |ssID;..C|NeoNode |
|00001d80| 2a 09 09 6e 65 77 52 6f | 6f 74 09 09 3d 20 6e 69 |*..newRo|ot..= ni|
|00001d90| 6c 3b 0d 09 43 50 65 72 | 73 6f 6e 20 2a 09 09 70 |l;..CPer|son *..p|
|00001da0| 65 72 73 6f 6e 09 09 3d | 20 28 43 50 65 72 73 6f |erson..=| (CPerso|
|00001db0| 6e 20 2a 29 61 4f 62 6a | 65 63 74 3b 0d 09 43 4e |n *)aObj|ect;..CN|
|00001dc0| 65 6f 53 74 72 69 6e 67 | 09 09 6e 61 6d 65 3b 0d |eoString|..name;.|
|00001dd0| 09 4e 61 6d 65 49 6e 64 | 65 78 45 6e 74 72 79 09 |.NameInd|exEntry.|
|00001de0| 6e 65 77 45 6e 74 72 79 | 3b 0d 0d 09 6e 65 77 45 |newEntry|;...newE|
|00001df0| 6e 74 72 79 2e 66 49 44 | 20 3d 20 70 65 72 73 6f |ntry.fID| = perso|
|00001e00| 6e 2d 3e 66 49 44 3b 0d | 09 28 28 43 50 65 72 73 |n->fID;.|.((CPers|
|00001e10| 6f 6e 20 2a 29 61 4f 62 | 6a 65 63 74 29 2d 3e 67 |on *)aOb|ject)->g|
|00001e20| 65 74 4e 61 6d 65 28 6e | 65 77 45 6e 74 72 79 2e |etName(n|ewEntry.|
|00001e30| 66 4e 61 6d 65 29 3b 0d | 0d 09 6f 6c 64 43 6c 61 |fName);.|..oldCla|
|00001e40| 73 73 49 44 20 3d 20 43 | 4e 65 6f 4d 65 74 61 43 |ssID = C|NeoMetaC|
|00001e50| 6c 61 73 73 3a 3a 46 53 | 79 73 43 6c 61 73 73 49 |lass::FS|ysClassI|
|00001e60| 44 3b 0d 09 43 4e 65 6f | 4d 65 74 61 43 6c 61 73 |D;..CNeo|MetaClas|
|00001e70| 73 3a 3a 46 53 79 73 43 | 6c 61 73 73 49 44 20 3d |s::FSysC|lassID =|
|00001e80| 20 6b 4e 61 6d 65 49 6e | 64 65 78 49 44 3b 0d 0d | kNameIn|dexID;..|
|00001e90| 09 6e 65 77 52 6f 6f 74 | 20 3d 20 69 6e 73 65 72 |.newRoot| = inser|
|00001ea0| 74 45 6e 74 72 79 28 61 | 49 6e 64 65 78 2c 20 28 |tEntry(a|Index, (|
|00001eb0| 50 74 72 29 26 6e 65 77 | 45 6e 74 72 79 29 3b 0d |Ptr)&new|Entry);.|
|00001ec0| 23 69 66 64 65 66 20 71 | 4e 65 6f 44 65 62 75 67 |#ifdef q|NeoDebug|
|00001ed0| 0d 09 69 66 20 28 6e 65 | 77 52 6f 6f 74 29 0d 09 |..if (ne|wRoot)..|
|00001ee0| 09 4e 65 6f 56 65 72 69 | 66 79 4e 6f 64 65 28 6e |.NeoVeri|fyNode(n|
|00001ef0| 65 77 52 6f 6f 74 29 3b | 0d 23 65 6e 64 69 66 0d |ewRoot);|.#endif.|
|00001f00| 0d 09 43 4e 65 6f 4d 65 | 74 61 43 6c 61 73 73 3a |..CNeoMe|taClass:|
|00001f10| 3a 46 53 79 73 43 6c 61 | 73 73 49 44 20 3d 20 6f |:FSysCla|ssID = o|
|00001f20| 6c 64 43 6c 61 73 73 49 | 44 3b 0d 0d 09 72 65 74 |ldClassI|D;...ret|
|00001f30| 75 72 6e 20 6e 65 77 52 | 6f 6f 74 3b 0d 7d 0d 0d |urn newR|oot;.}..|
|00001f40| 2f 2a 0d 20 2a 20 54 68 | 65 20 6d 65 74 61 63 6c |/*. * Th|e metacl|
|00001f50| 61 73 73 20 6f 62 6a 65 | 63 74 20 6f 66 20 61 6c |ass obje|ct of al|
|00001f60| 6c 20 70 65 72 73 69 73 | 74 65 6e 74 20 63 6c 61 |l persis|tent cla|
|00001f70| 73 73 65 73 20 6e 65 65 | 64 20 74 6f 20 62 65 20 |sses nee|d to be |
|00001f80| 61 62 6c 65 20 74 6f 20 | 64 65 74 65 72 6d 69 6e |able to |determin|
|00001f90| 65 0d 20 2a 20 74 68 65 | 20 70 72 69 6d 61 72 79 |e. * the| primary|
|00001fa0| 20 73 65 6c 65 63 74 69 | 6f 6e 20 63 72 69 74 65 | selecti|on crite|
|00001fb0| 72 69 61 20 6f 66 20 74 | 68 61 74 20 63 6c 61 73 |ria of t|hat clas|
|00001fc0| 73 2e 20 54 68 69 73 20 | 73 74 61 74 69 63 20 66 |s. This |static f|
|00001fd0| 75 6e 63 74 69 6f 6e 20 | 69 73 20 63 61 6c 6c 65 |unction |is calle|
|00001fe0| 64 0d 20 2a 20 74 68 72 | 6f 75 67 68 20 74 68 65 |d. * thr|ough the|
|00001ff0| 20 69 6e 64 65 78 20 63 | 6c 61 73 73 27 73 20 6d | index c|lass's m|
|00002000| 65 74 61 63 6c 61 73 73 | 20 6f 62 6a 65 63 74 2e |etaclass| object.|
|00002010| 20 49 74 20 69 73 20 75 | 73 65 64 20 74 6f 3a 20 | It is u|sed to: |
|00002020| 31 29 20 77 68 65 74 68 | 65 72 20 74 68 65 0d 20 |1) wheth|er the. |
|00002030| 2a 20 69 6e 64 65 78 20 | 63 61 6e 20 70 65 72 66 |* index |can perf|
|00002040| 6f 72 6d 20 61 20 62 69 | 6e 61 72 79 20 73 65 61 |orm a bi|nary sea|
|00002050| 72 63 68 20 75 73 69 6e | 67 20 74 68 65 20 67 69 |rch usin|g the gi|
|00002060| 76 65 6e 20 73 65 6c 65 | 63 74 20 6b 65 79 2c 20 |ven sele|ct key, |
|00002070| 61 6e 64 20 32 29 20 74 | 6f 0d 20 2a 20 6f 62 74 |and 2) t|o. * obt|
|00002080| 61 69 6e 20 61 20 73 65 | 6c 65 63 74 20 6b 65 79 |ain a se|lect key|
|00002090| 20 66 6f 72 20 6c 6f 63 | 61 74 69 6e 67 20 74 68 | for loc|ating th|
|000020a0| 65 20 70 72 6f 70 65 72 | 20 69 6e 64 65 78 20 65 |e proper| index e|
|000020b0| 6e 74 72 79 20 66 6f 72 | 20 74 68 65 20 67 69 76 |ntry for| the giv|
|000020c0| 65 6e 0d 20 2a 20 6f 62 | 6a 65 63 74 2e 0d 20 2a |en. * ob|ject.. *|
|000020d0| 2f 0d 23 70 72 61 67 6d | 61 20 73 65 67 6d 65 6e |/.#pragm|a segmen|
|000020e0| 74 20 4e 65 6f 53 65 61 | 72 63 68 0d 76 6f 69 64 |t NeoSea|rch.void|
|000020f0| 20 2a 43 4e 61 6d 65 49 | 6e 64 65 78 3a 3a 4b 65 | *CNameI|ndex::Ke|
|00002100| 79 4d 61 6e 61 67 65 72 | 28 63 6f 6e 73 74 20 4e |yManager|(const N|
|00002110| 65 6f 4b 65 79 4f 70 20 | 61 4f 70 2c 20 2e 2e 2e |eoKeyOp |aOp, ...|
|00002120| 29 0d 7b 0d 09 76 61 5f | 6c 69 73 74 09 09 09 61 |).{..va_|list...a|
|00002130| 72 67 70 74 72 3b 09 09 | 09 09 09 2f 2f 20 70 6f |rgptr;..|...// po|
|00002140| 69 6e 74 65 72 20 74 6f | 20 61 72 67 75 6d 65 6e |inter to| argumen|
|00002150| 74 20 6c 69 73 74 2e 0d | 09 4e 65 6f 53 65 6c 65 |t list..|.NeoSele|
|00002160| 63 74 54 79 70 65 09 73 | 65 6c 65 63 74 54 79 70 |ctType.s|electTyp|
|00002170| 65 3b 0d 09 76 6f 69 64 | 20 2a 09 09 09 76 61 6c |e;..void| *...val|
|00002180| 75 65 09 3d 20 6e 69 6c | 3b 0d 09 43 4e 65 6f 53 |ue.= nil|;..CNeoS|
|00002190| 65 6c 65 63 74 20 2a 09 | 6b 65 79 3b 0d 09 43 50 |elect *.|key;..CP|
|000021a0| 65 72 73 6f 6e 20 2a 09 | 09 70 65 72 73 6f 6e 3b |erson *.|.person;|
|000021b0| 0d 09 43 4e 65 6f 53 74 | 72 69 6e 67 09 09 6e 61 |..CNeoSt|ring..na|
|000021c0| 6d 65 3b 0d 0d 09 76 61 | 5f 73 74 61 72 74 28 61 |me;...va|_start(a|
|000021d0| 72 67 70 74 72 2c 20 61 | 4f 70 29 3b 0d 09 73 77 |rgptr, a|Op);..sw|
|000021e0| 69 74 63 68 20 28 61 4f | 70 29 20 7b 0d 09 63 61 |itch (aO|p) {..ca|
|000021f0| 73 65 20 6b 4e 65 6f 43 | 61 6e 53 75 70 70 6f 72 |se kNeoC|anSuppor|
|00002200| 74 3a 0d 09 09 6b 65 79 | 20 3d 20 76 61 5f 61 72 |t:...key| = va_ar|
|00002210| 67 28 61 72 67 70 74 72 | 2c 20 43 4e 65 6f 53 65 |g(argptr|, CNeoSe|
|00002220| 6c 65 63 74 20 2a 29 3b | 0d 09 09 73 65 6c 65 63 |lect *);|...selec|
|00002230| 74 54 79 70 65 20 3d 20 | 6b 65 79 2d 3e 67 65 74 |tType = |key->get|
|00002240| 53 65 6c 65 63 74 54 79 | 70 65 28 29 3b 0d 09 09 |SelectTy|pe();...|
|00002250| 69 66 20 28 73 65 6c 65 | 63 74 54 79 70 65 20 3d |if (sele|ctType =|
|00002260| 3d 20 70 4e 65 6f 4e 61 | 6d 65 29 0d 09 09 09 76 |= pNeoNa|me)....v|
|00002270| 61 6c 75 65 20 3d 20 28 | 76 6f 69 64 20 2a 29 28 |alue = (|void *)(|
|00002280| 75 6e 73 69 67 6e 65 64 | 20 20 63 68 61 72 29 54 |unsigned| char)T|
|00002290| 52 55 45 3b 0d 23 69 66 | 64 65 66 20 71 4e 65 6f |RUE;.#if|def qNeo|
|000022a0| 53 68 61 72 65 0d 09 09 | 65 6c 73 65 20 69 66 20 |Share...|else if |
|000022b0| 28 73 65 6c 65 63 74 54 | 79 70 65 20 3d 3d 20 6b |(selectT|ype == k|
|000022c0| 4e 65 6f 41 45 4b 65 79 | 53 65 6c 65 63 74 20 26 |NeoAEKey|Select &|
|000022d0| 26 0d 09 09 09 09 20 28 | 28 43 4e 65 6f 41 45 4b |&..... (|(CNeoAEK|
|000022e0| 65 79 53 65 6c 65 63 74 | 20 2a 29 6b 65 79 29 2d |eySelect| *)key)-|
|000022f0| 3e 67 65 74 41 45 4b 65 | 79 77 6f 72 64 28 29 20 |>getAEKe|yword() |
|00002300| 3d 3d 20 70 4e 65 6f 4e | 61 6d 65 29 0d 09 09 09 |== pNeoN|ame)....|
|00002310| 76 61 6c 75 65 20 3d 20 | 28 76 6f 69 64 20 2a 29 |value = |(void *)|
|00002320| 28 75 6e 73 69 67 6e 65 | 64 20 20 63 68 61 72 29 |(unsigne|d char)|
|00002330| 54 52 55 45 3b 0d 23 65 | 6e 64 69 66 0d 09 09 65 |TRUE;.#e|ndif...e|
|00002340| 6c 73 65 0d 09 09 09 76 | 61 6c 75 65 20 3d 20 4e |lse....v|alue = N|
|00002350| 65 6f 49 6e 68 65 72 69 | 74 65 64 3a 3a 4b 65 79 |eoInheri|ted::Key|
|00002360| 4d 61 6e 61 67 65 72 28 | 6b 4e 65 6f 43 61 6e 53 |Manager(|kNeoCanS|
|00002370| 75 70 70 6f 72 74 2c 20 | 6b 65 79 2c 20 73 65 6c |upport, |key, sel|
|00002380| 65 63 74 54 79 70 65 29 | 3b 0d 09 09 62 72 65 61 |ectType)|;...brea|
|00002390| 6b 3b 0d 0d 09 63 61 73 | 65 20 6b 4e 65 6f 47 65 |k;...cas|e kNeoGe|
|000023a0| 74 4b 65 79 3a 0d 09 09 | 70 65 72 73 6f 6e 20 3d |tKey:...|person =|
|000023b0| 20 76 61 5f 61 72 67 28 | 61 72 67 70 74 72 2c 20 | va_arg(|argptr, |
|000023c0| 43 50 65 72 73 6f 6e 20 | 2a 29 3b 0d 09 09 70 65 |CPerson |*);...pe|
|000023d0| 72 73 6f 6e 2d 3e 67 65 | 74 4e 61 6d 65 28 6e 61 |rson->ge|tName(na|
|000023e0| 6d 65 29 3b 0d 09 09 76 | 61 6c 75 65 20 3d 20 28 |me);...v|alue = (|
|000023f0| 76 6f 69 64 20 2a 29 6e | 65 77 20 43 4e 65 6f 4e |void *)n|ew CNeoN|
|00002400| 61 6d 65 53 65 6c 65 63 | 74 28 6e 61 6d 65 29 3b |ameSelec|t(name);|
|00002410| 0d 09 09 62 72 65 61 6b | 3b 0d 09 7d 0d 09 76 61 |...break|;..}..va|
|00002420| 5f 65 6e 64 28 61 72 67 | 70 74 72 29 3b 0d 0d 09 |_end(arg|ptr);...|
|00002430| 72 65 74 75 72 6e 20 76 | 61 6c 75 65 3b 0d 7d 0d |return v|alue;.}.|
|00002440| 0d 2f 2a 20 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |./* ****|********|
|00002450| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002460| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002470| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002480| 2a 2a 2a 2a 2a 2a 20 2a | 2f 0d 09 09 09 09 2f 2a |****** *|/...../*|
|00002490| 2a 20 45 6e 74 72 79 20 | 4d 61 6e 61 67 65 6d 65 |* Entry |Manageme|
|000024a0| 6e 74 20 4d 65 74 68 6f | 64 73 20 2a 2a 2f 0d 2f |nt Metho|ds **/./|
|000024b0| 2a 20 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |* ******|********|
|000024c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000024d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000024e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000024f0| 2a 2a 2a 2a 20 2a 2f 0d | 0d 2f 2a 0d 20 2a 20 54 |**** */.|./*. * T|
|00002500| 68 69 73 20 66 75 6e 63 | 74 69 6f 6e 20 70 72 6f |his func|tion pro|
|00002510| 76 69 64 65 73 20 61 20 | 6d 65 63 68 61 6e 69 73 |vides a |mechanis|
|00002520| 6d 20 66 6f 72 20 64 65 | 74 65 72 6d 69 6e 69 6e |m for de|terminin|
|00002530| 67 20 74 68 65 20 73 69 | 7a 65 20 6f 66 20 65 6e |g the si|ze of en|
|00002540| 74 72 69 65 73 20 66 6f | 72 0d 20 2a 20 61 20 70 |tries fo|r. * a p|
|00002550| 61 72 74 69 63 75 6c 61 | 72 20 6e 6f 64 65 2e 0d |articula|r node..|
|00002560| 20 2a 2f 0d 23 70 72 61 | 67 6d 61 20 73 65 67 6d | */.#pra|gma segm|
|00002570| 65 6e 74 20 4e 65 6f 43 | 68 61 6e 67 65 0d 73 68 |ent NeoC|hange.sh|
|00002580| 6f 72 74 20 43 4e 61 6d | 65 49 6e 64 65 78 3a 3a |ort CNam|eIndex::|
|00002590| 67 65 74 45 6e 74 72 79 | 53 69 7a 65 28 76 6f 69 |getEntry|Size(voi|
|000025a0| 64 29 20 63 6f 6e 73 74 | 0d 7b 0d 09 72 65 74 75 |d) const|.{..retu|
|000025b0| 72 6e 20 73 69 7a 65 6f | 66 28 4e 61 6d 65 49 6e |rn sizeo|f(NameIn|
|000025c0| 64 65 78 45 6e 74 72 79 | 29 3b 0d 7d 0d 0d 23 69 |dexEntry|);.}..#i|
|000025d0| 66 64 65 66 20 71 4e 65 | 6f 44 65 62 75 67 0d 2f |fdef qNe|oDebug./|
|000025e0| 2a 20 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |* ******|********|
|000025f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002600| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002610| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002620| 2a 2a 2a 2a 20 2a 2f 0d | 09 09 09 09 09 09 2f 2a |**** */.|....../*|
|00002630| 2a 20 44 65 62 75 67 67 | 69 6e 67 20 4d 65 74 68 |* Debugg|ing Meth|
|00002640| 6f 64 73 20 2a 2a 2f 0d | 2f 2a 20 2a 2a 2a 2a 2a |ods **/.|/* *****|
|00002650| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002660| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002670| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002680| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 20 2a 2f |********|***** */|
|00002690| 0d 0d 2f 2a 0d 20 2a 20 | 41 6c 6c 20 73 75 62 63 |../*. * |All subc|
|000026a0| 6c 61 73 73 65 73 20 6f | 66 20 43 4e 65 6f 50 65 |lasses o|f CNeoPe|
|000026b0| 72 73 69 73 74 20 73 68 | 6f 75 6c 64 20 6f 76 65 |rsist sh|ould ove|
|000026c0| 72 72 69 64 65 20 74 68 | 65 20 76 65 72 69 66 79 |rride th|e verify|
|000026d0| 20 6d 65 74 68 6f 64 20 | 74 6f 0d 20 2a 20 70 65 | method |to. * pe|
|000026e0| 72 66 6f 72 6d 20 61 20 | 63 6f 6e 73 69 73 74 65 |rform a |consiste|
|000026f0| 6e 63 79 20 63 68 65 63 | 6b 20 6f 6e 20 6f 62 6a |ncy chec|k on obj|
|00002700| 65 63 74 73 2e 20 54 68 | 69 73 20 6d 65 74 68 6f |ects. Th|is metho|
|00002710| 64 20 73 68 6f 75 6c 64 | 20 6d 61 6b 65 20 61 73 |d should| make as|
|00002720| 0d 20 2a 20 6d 61 6e 79 | 20 67 65 6e 65 72 61 6c |. * many| general|
|00002730| 20 61 73 73 65 72 74 69 | 6f 6e 73 20 61 73 20 70 | asserti|ons as p|
|00002740| 6f 73 73 69 62 6c 65 2e | 0d 20 2a 0d 20 2a 20 43 |ossible.|. *. * C|
|00002750| 4e 65 6f 50 61 72 65 6e | 74 4e 4e 61 6d 65 49 6e |NeoParen|tNNameIn|
|00002760| 64 65 78 27 73 20 76 65 | 72 69 66 79 20 63 68 65 |dex's ve|rify che|
|00002770| 63 6b 73 20 74 68 61 74 | 20 74 68 65 20 65 6e 74 |cks that| the ent|
|00002780| 72 69 65 73 20 61 72 65 | 20 73 6f 72 74 65 64 0d |ries are| sorted.|
|00002790| 20 2a 20 69 6e 20 61 73 | 63 65 6e 64 69 6e 67 20 | * in as|cending |
|000027a0| 6f 72 64 65 72 20 62 79 | 20 74 68 65 20 66 69 65 |order by| the fie|
|000027b0| 6c 64 73 20 66 50 61 72 | 65 6e 74 49 44 20 61 6e |lds fPar|entID an|
|000027c0| 64 20 66 4e 61 6d 65 2e | 0d 20 2a 20 61 56 61 6c |d fName.|. * aVal|
|000027d0| 75 65 20 69 73 20 61 73 | 73 75 6d 65 64 20 74 6f |ue is as|sumed to|
|000027e0| 20 62 65 20 61 20 70 6f | 69 6e 74 65 72 20 74 6f | be a po|inter to|
|000027f0| 20 74 68 65 20 6c 61 73 | 74 20 65 6e 74 72 79 20 | the las|t entry |
|00002800| 69 6e 20 74 68 65 20 70 | 72 65 76 69 6f 75 73 0d |in the p|revious.|
|00002810| 20 2a 20 73 69 62 6c 69 | 6e 67 20 6e 6f 64 65 2e | * sibli|ng node.|
|00002820| 0d 20 2a 20 54 68 65 20 | 72 65 74 75 72 6e 20 76 |. * The |return v|
|00002830| 61 6c 75 65 20 69 73 20 | 61 20 70 6f 69 6e 74 65 |alue is |a pointe|
|00002840| 72 20 74 6f 20 74 68 65 | 20 6c 61 73 74 20 65 6e |r to the| last en|
|00002850| 74 72 79 20 69 6e 20 74 | 68 69 73 20 6e 6f 64 65 |try in t|his node|
|00002860| 2e 0d 20 2a 2f 0d 63 6f | 6e 73 74 20 76 6f 69 64 |.. */.co|nst void|
|00002870| 20 2a 43 4e 61 6d 65 49 | 6e 64 65 78 3a 3a 76 65 | *CNameI|ndex::ve|
|00002880| 72 69 66 79 28 63 6f 6e | 73 74 20 76 6f 69 64 20 |rify(con|st void |
|00002890| 2a 61 56 61 6c 75 65 29 | 20 63 6f 6e 73 74 0d 7b |*aValue)| const.{|
|000028a0| 0d 09 73 68 6f 72 74 09 | 09 09 09 09 69 6e 64 65 |..short.|....inde|
|000028b0| 78 3b 0d 09 63 6f 6e 73 | 74 20 4e 61 6d 65 49 6e |x;..cons|t NameIn|
|000028c0| 64 65 78 45 6e 74 72 79 | 20 2a 09 65 6e 74 72 79 |dexEntry| *.entry|
|000028d0| 09 3d 20 28 4e 61 6d 65 | 49 6e 64 65 78 45 6e 74 |.= (Name|IndexEnt|
|000028e0| 72 79 20 2a 29 61 56 61 | 6c 75 65 3b 0d 0d 09 66 |ry *)aVa|lue;...f|
|000028f0| 6f 72 20 28 69 6e 64 65 | 78 20 3d 20 30 3b 20 69 |or (inde|x = 0; i|
|00002900| 6e 64 65 78 20 3c 20 66 | 43 6f 75 6e 74 3b 20 69 |ndex < f|Count; i|
|00002910| 6e 64 65 78 2b 2b 29 20 | 7b 0d 09 09 69 66 20 28 |ndex++) |{...if (|
|00002920| 65 6e 74 72 79 29 0d 09 | 09 09 4e 65 6f 41 73 73 |entry)..|..NeoAss|
|00002930| 65 72 74 28 65 6e 74 72 | 79 2d 3e 66 4e 61 6d 65 |ert(entr|y->fName|
|00002940| 20 3c 3d 20 66 45 6e 74 | 72 79 5b 69 6e 64 65 78 | <= fEnt|ry[index|
|00002950| 5d 2e 66 4e 61 6d 65 29 | 3b 0d 09 09 65 6e 74 72 |].fName)|;...entr|
|00002960| 79 20 3d 20 26 66 45 6e | 74 72 79 5b 69 6e 64 65 |y = &fEn|try[inde|
|00002970| 78 5d 3b 0d 09 7d 0d 0d | 09 2f 2f 20 43 4e 65 6f |x];..}..|.// CNeo|
|00002980| 4e 6f 64 65 3a 3a 76 65 | 72 69 66 79 20 61 73 73 |Node::ve|rify ass|
|00002990| 75 6d 65 73 20 70 61 72 | 61 6d 65 74 65 72 20 74 |umes par|ameter t|
|000029a0| 6f 20 62 65 20 74 68 65 | 20 63 75 72 72 65 6e 74 |o be the| current|
|000029b0| 20 73 69 7a 65 20 6f 66 | 20 74 68 65 20 64 61 74 | size of| the dat|
|000029c0| 61 62 61 73 65 0d 09 4e | 65 6f 49 6e 68 65 72 69 |abase..N|eoInheri|
|000029d0| 74 65 64 3a 3a 76 65 72 | 69 66 79 28 6e 69 6c 29 |ted::ver|ify(nil)|
|000029e0| 3b 0d 0d 09 72 65 74 75 | 72 6e 20 65 6e 74 72 79 |;...retu|rn entry|
|000029f0| 3b 0d 7d 0d 23 65 6e 64 | 69 66 0d 0d 00 00 00 00 |;.}.#end|if......|
|00002a00| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00002a10| 72 69 61 62 6c 65 73 20 | 2a 2a 2f 0d 09 75 6e 73 |riables |**/..uns|
|00002a20| 69 67 6e 65 64 20 63 68 | 61 72 09 09 66 46 69 6c |igned ch|ar..fFil|
|00002a30| 0d 43 4e 61 6d 65 49 6e | 64 65 78 2e 63 70 02 00 |.CNameIn|dex.cp..|
|00002a40| 00 00 54 45 58 54 4b 41 | 48 4c 01 00 00 3c 00 00 |..TEXTKA|HL...<..|
|00002a50| 00 00 54 45 58 54 4b 41 | 48 4c 01 00 00 3c 00 00 |..TEXTKA|HL...<..|
|00002a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a70| 00 00 a5 96 f9 0f 00 00 | 29 7c 00 00 01 7e 6c 61 |........|)|...~la|
|00002a80| 73 73 3b 09 09 09 2f 2f | 20 63 6c 61 73 73 20 6f |ss;...//| class o|
|00002a90| 66 20 6d 61 72 6b 2c 20 | 6f 72 20 6e 75 6c 6c 0d |f mark, |or null.|
|00002aa0| 0d 09 09 09 09 09 09 2f | 2a 2a 20 41 63 63 65 73 |......./|** Acces|
|00002ab0| 73 69 6e 67 20 2a 2a 2f | 0d 09 76 6f 69 64 09 09 |sing **/|..void..|
|00002ac0| 09 09 73 65 74 43 6c 61 | 73 73 43 6f 75 6e 74 28 |..setCla|ssCount(|
|00002ad0| 6c 6f 6e 67 20 61 43 6f | 75 6e 74 29 3b 09 2f 2f |long aCo|unt);.//|
|00002ae0| 20 73 65 74 20 68 6f 77 | 20 6d 61 6e 79 20 63 6c | set how| many cl|
|00002af0| 61 73 73 65 73 20 69 6e | 20 74 68 65 20 63 6c 61 |asses in| the cla|
|00002b00| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00002b10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b20| 00 00 00 00 00 00 00 03 | 00 04 00 28 00 0a 01 c2 |........|...(....|
|00002b30| 02 80 00 28 00 0a 01 c2 | 02 80 aa af 5f 1c 00 00 |...(....|...._...|
|00002b40| 28 d2 00 00 28 d7 00 00 | 23 13 00 00 00 00 01 00 |(...(...|#.......|
|00002b50| 00 00 01 4c 00 00 00 4c | 00 00 00 32 01 bb 9f 88 |...L...L|...2....|
|00002b60| 3b 7e 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |;~.....2|..MPSR..|
|00002b70| 00 0a 03 ed ff ff 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+